﻿using System;
using System.Collections.Generic;
using WebApplication1.Core.Domain.Entities;

namespace WebApplication1.Core.DataTransferObject {

    public class XiangxixinxiRequest {

        #region Property
        public int? Xiangmuid { get; set; }

        public string? XiangMuMingCheng { get; set; }

        public string? LiXiangDaiMa { get; set; }

        public string? KeYanBianZhiDanWei { get; set; }

        public int? KeYanFei { get; set; }

        public string? KeYanPingGuDanWei { get; set; }

        public int? KeYanPingGuFei { get; set; }

        public string? XiangMuBianHao { get; set; }

        public string? KeYanPiFuWenHao { get; set; }

        public string? ChuShePiFuWenHao { get; set; }

        public string? SheJiDanWei { get; set; }

        public int? SheJiFei { get; set; }

        public string? CeHuiDanWei { get; set; }

        public int? CeHuiFei { get; set; }

        public string? ZhaoBiaoDaiLi { get; set; }

        public double? ZhaoBiaoKongZhiJia { get; set; }

        public string? ZhongBiaoDanWei { get; set; }

        public string? XiangMuJingLi { get; set; }

        public string? ShiGongFuZeRen { get; set; }

        public double? ZhongBiaoJia { get; set; }

        public DateOnly? KaiGongShiJian { get; set; }

        public DateOnly? JunGongShiJian { get; set; }

        public DateOnly? YanShouShiJian { get; set; }

        public int? YiZhiFuGongChengKuan { get; set; }

        public DateOnly? JieSuanShenQingShiJian { get; set; }

        public double? JieSuanBaoJia { get; set; }

        public string? JieSuanJia { get; set; }

        public string? JianLiDanWei { get; set; }

        public int? JianLiFei { get; set; }

        public int? YiZhiFuJianLiFei { get; set; }
        #endregion

        public Xiangxixinxi ToXiangxixinxi() {
            if(Xiangmuid != null) {
                return new Xiangxixinxi() {
                    Xiangmuid = this.Xiangmuid!.Value,
                    XiangMuMingCheng = this.XiangMuMingCheng,
                    LiXiangDaiMa = this.LiXiangDaiMa,
                    KeYanBianZhiDanWei = this.KeYanBianZhiDanWei,
                    KeYanFei = this.KeYanFei,
                    KeYanPingGuDanWei = this.KeYanPingGuDanWei,
                    KeYanPingGuFei = this.KeYanPingGuFei,
                    XiangMuBianHao = this.XiangMuBianHao,
                    KeYanPiFuWenHao = this.KeYanPiFuWenHao,
                    ChuShePiFuWenHao = this.ChuShePiFuWenHao,
                    SheJiDanWei = this.SheJiDanWei,
                    SheJiFei = this.SheJiFei,
                    CeHuiDanWei = this.CeHuiDanWei,
                    CeHuiFei = this.CeHuiFei,
                    ZhaoBiaoDaiLi = this.ZhaoBiaoDaiLi,
                    ZhaoBiaoKongZhiJia = this.ZhaoBiaoKongZhiJia,
                    ZhongBiaoDanWei = this.ZhongBiaoDanWei,
                    XiangMuJingLi = this.XiangMuJingLi,
                    ShiGongFuZeRen = this.ShiGongFuZeRen,
                    ZhongBiaoJia = this.ZhongBiaoJia,
                    KaiGongShiJian = this.KaiGongShiJian,
                    JunGongShiJian = this.JunGongShiJian,
                    YanShouShiJian = this.YanShouShiJian,
                    YiZhiFuGongChengKuan = this.YiZhiFuGongChengKuan,
                    JieSuanShenQingShiJian = this.JieSuanShenQingShiJian,
                    JieSuanBaoJia = this.JieSuanBaoJia,
                    JieSuanJia = this.JieSuanJia,
                    JianLiDanWei = this.JianLiDanWei,
                    JianLiFei = this.JianLiFei,
                    YiZhiFuJianLiFei = this.YiZhiFuJianLiFei
                };
            } else {
                return new Xiangxixinxi() {
                    XiangMuMingCheng = this.XiangMuMingCheng,
                    LiXiangDaiMa = this.LiXiangDaiMa,
                    KeYanBianZhiDanWei = this.KeYanBianZhiDanWei,
                    KeYanFei = this.KeYanFei,
                    KeYanPingGuDanWei = this.KeYanPingGuDanWei,
                    KeYanPingGuFei = this.KeYanPingGuFei,
                    XiangMuBianHao = this.XiangMuBianHao,
                    KeYanPiFuWenHao = this.KeYanPiFuWenHao,
                    ChuShePiFuWenHao = this.ChuShePiFuWenHao,
                    SheJiDanWei = this.SheJiDanWei,
                    SheJiFei = this.SheJiFei,
                    CeHuiDanWei = this.CeHuiDanWei,
                    CeHuiFei = this.CeHuiFei,
                    ZhaoBiaoDaiLi = this.ZhaoBiaoDaiLi,
                    ZhaoBiaoKongZhiJia = this.ZhaoBiaoKongZhiJia,
                    ZhongBiaoDanWei = this.ZhongBiaoDanWei,
                    XiangMuJingLi = this.XiangMuJingLi,
                    ShiGongFuZeRen = this.ShiGongFuZeRen,
                    ZhongBiaoJia = this.ZhongBiaoJia,
                    KaiGongShiJian = this.KaiGongShiJian,
                    JunGongShiJian = this.JunGongShiJian,
                    YanShouShiJian = this.YanShouShiJian,
                    YiZhiFuGongChengKuan = this.YiZhiFuGongChengKuan,
                    JieSuanShenQingShiJian = this.JieSuanShenQingShiJian,
                    JieSuanBaoJia = this.JieSuanBaoJia,
                    JieSuanJia = this.JieSuanJia,
                    JianLiDanWei = this.JianLiDanWei,
                    JianLiFei = this.JianLiFei,
                    YiZhiFuJianLiFei = this.YiZhiFuJianLiFei
                };
            }
        }

        public XiangxixinxiResponse ToXiangxixinxiResponse() {
            if(Xiangmuid != null) {
                return new XiangxixinxiResponse() {
                    Xiangmuid = this.Xiangmuid!.Value,
                    XiangMuMingCheng = this.XiangMuMingCheng,
                    LiXiangDaiMa = this.LiXiangDaiMa,
                    KeYanBianZhiDanWei = this.KeYanBianZhiDanWei,
                    KeYanFei = this.KeYanFei,
                    KeYanPingGuDanWei = this.KeYanPingGuDanWei,
                    KeYanPingGuFei = this.KeYanPingGuFei,
                    XiangMuBianHao = this.XiangMuBianHao,
                    KeYanPiFuWenHao = this.KeYanPiFuWenHao,
                    ChuShePiFuWenHao = this.ChuShePiFuWenHao,
                    SheJiDanWei = this.SheJiDanWei,
                    SheJiFei = this.SheJiFei,
                    CeHuiDanWei = this.CeHuiDanWei,
                    CeHuiFei = this.CeHuiFei,
                    ZhaoBiaoDaiLi = this.ZhaoBiaoDaiLi,
                    ZhaoBiaoKongZhiJia = this.ZhaoBiaoKongZhiJia,
                    ZhongBiaoDanWei = this.ZhongBiaoDanWei,
                    XiangMuJingLi = this.XiangMuJingLi,
                    ShiGongFuZeRen = this.ShiGongFuZeRen,
                    ZhongBiaoJia = this.ZhongBiaoJia,
                    KaiGongShiJian = this.KaiGongShiJian,
                    JunGongShiJian = this.JunGongShiJian,
                    YanShouShiJian = this.YanShouShiJian,
                    YiZhiFuGongChengKuan = this.YiZhiFuGongChengKuan,
                    JieSuanShenQingShiJian = this.JieSuanShenQingShiJian,
                    JieSuanBaoJia = this.JieSuanBaoJia,
                    JieSuanJia = this.JieSuanJia,
                    JianLiDanWei = this.JianLiDanWei,
                    JianLiFei = this.JianLiFei,
                    YiZhiFuJianLiFei = this.YiZhiFuJianLiFei
                };
            } else {
                return new XiangxixinxiResponse() {
                    XiangMuMingCheng = this.XiangMuMingCheng,
                    LiXiangDaiMa = this.LiXiangDaiMa,
                    KeYanBianZhiDanWei = this.KeYanBianZhiDanWei,
                    KeYanFei = this.KeYanFei,
                    KeYanPingGuDanWei = this.KeYanPingGuDanWei,
                    KeYanPingGuFei = this.KeYanPingGuFei,
                    XiangMuBianHao = this.XiangMuBianHao,
                    KeYanPiFuWenHao = this.KeYanPiFuWenHao,
                    ChuShePiFuWenHao = this.ChuShePiFuWenHao,
                    SheJiDanWei = this.SheJiDanWei,
                    SheJiFei = this.SheJiFei,
                    CeHuiDanWei = this.CeHuiDanWei,
                    CeHuiFei = this.CeHuiFei,
                    ZhaoBiaoDaiLi = this.ZhaoBiaoDaiLi,
                    ZhaoBiaoKongZhiJia = this.ZhaoBiaoKongZhiJia,
                    ZhongBiaoDanWei = this.ZhongBiaoDanWei,
                    XiangMuJingLi = this.XiangMuJingLi,
                    ShiGongFuZeRen = this.ShiGongFuZeRen,
                    ZhongBiaoJia = this.ZhongBiaoJia,
                    KaiGongShiJian = this.KaiGongShiJian,
                    JunGongShiJian = this.JunGongShiJian,
                    YanShouShiJian = this.YanShouShiJian,
                    YiZhiFuGongChengKuan = this.YiZhiFuGongChengKuan,
                    JieSuanShenQingShiJian = this.JieSuanShenQingShiJian,
                    JieSuanBaoJia = this.JieSuanBaoJia,
                    JieSuanJia = this.JieSuanJia,
                    JianLiDanWei = this.JianLiDanWei,
                    JianLiFei = this.JianLiFei,
                    YiZhiFuJianLiFei = this.YiZhiFuJianLiFei
                };
            }
        }
    }
}
